Computers store information and programs by means that are, in essence, either electronic or mechanical. Electronic methods, generally called memory, are highly valued for their ability to keep pace with the computer's central processing unit, or CPU, which typically shuttles bits of information and program instructions in and out of the memory several million times a second.
However, it is almost an axiom in the world of computers that there is never available a satisfactory amount of memory. Programs and data tend to grow, first to fill and then to exceed whatever memory a computer may command. To handle the overflow, mechanical methods have been introduced. Commonly called storage, these devices, even though at their fastest many times slower than the purely electronic circuits of memory, still offer huge capacities available at a small fraction of memory's cost per word.
One popular type of a storage device of the non-volatile memory card format is the secure digital (SD) card, developed by Panasonic, SanDisk and Toshiba for use in portable devices. Currently it is widely used in handheld computers, PDAs, media players, mobile phones, GPS receivers, digital cameras and camcorders as well as video games. Standard SD cards have capacities up to 2 GB, whereas the capacity range for high capacity SDHC cards begins at 4 GB and reaches as high as 32 GB. SDXC (extended capacity) format allows for up to 2 TB capacity cards.
Storage management systems have evolved into complex entities with many components including hardware and software modules designed to perform a variety of different storage operations on electronic data. One particular example of a storage management system is a game platform, for example, a Nintendo® machine, such as a Wii® or a DS® device, that executes a computer game program. Every time the game platform executes a game computer program, data is created that is saved internally and/or externally on a removable storage device. Such data may include, for example, three dimensional game scenes, records of positions of player characters in the game scenes, records of scores, etc.
In some instances, game developers and product testing department staff may wish to simulate storage operations to a particular storage device. For example, they may want to check abnormal SD card memory conditions in software created by Nintendo, or any other software manufacturer. In other words, they may want to check what is the exact memory condition of the SD card used when the Nintendo device performs a save operation on the SD card.
In particular, the following two memory conditions (and others depending upon the programming guideline requirements for the particular Nintendo device) are usually checked: 1) insufficient memory is available on the SD card to perform the save operation and 2) exactly enough memory is available on the SD card to perform the save operation. These memory conditions may result, for example, in the game not displaying accurate information to the users when insufficient memory or very close to memory needed is available on the SD card medium.
In order to create these conditions on an SD card, a tester may induce the above undesired situation by filling the SD card to the point where the storage device becomes unavailable for further storage. Inducing this behavior may comprise writing data to such storage device until the device becomes full.
In order to create the above memory conditions on an SD card, a lengthy and imprecise process is used in which the user first obtains the size of a file that is saved by the game. Then, the user calculates the amount of space that would be needed to remain on the SD card in order to cause one of the above two conditions to exist. Then, some method of creating, copying, and manipulating files to fill the SD card would occur.
However, this process is prone in several places for human calculation error, and does not generally result in the most accurate form of testing. Additionally, it requires a significant amount of time and effort from the tester to perform all of these operations.
Therefore, it would be beneficial if an automated process allowed a user to simulate abnormal memory conditions in an SD memory card when a Nintendo device creates save data on the SD memory card. Moreover, it would be beneficial if an automated process allowed the user to fill an SD memory card with a file so that predetermined, user-defined, memory space on the card is available.
In one exemplary illustrative non-limiting implementation, an automated method easily obtains the file size of a file that is saved by the SD card. The method removes a human calculation of the file size from the process, and as such, it is inherently more accurate.
In another exemplary illustrative non-limiting implementation, the method implements an automated process for properly filling the SD card to create a memory condition in which the SD card has insufficient memory to perform a save operation on a Nintendo device. The user is only required to press a button and enter a value that represents the size of the file that is saved by the Nintendo device.
In yet another exemplary illustrative non-limiting implementation, the method implements an automated process for properly filling the SD card to create a memory condition in which the SD card has exactly enough space to perform a save operation. Additionally, the method allows the creation of a file of a size determined by the user. This allows for the application to meet future needs that were not present at the time the application was created.
Non-limiting exemplary illustrative features and advantages for exemplary implementations include:                The application integrates a process in which the storage medium is filled to a particular point in order to test an error condition in software.        The process involves checking situations in which insufficient memory is available to store a file, exactly enough memory is available to store a file, and sufficient memory is available to store a file. Depending upon the memory condition that is created, the software that is being tested is expected to behave in a particular manner.        The application fills a storage medium with dummy data with the intent of testing insufficient or abnormal memory conditions when a device tries to store data to the storage medium.        This type of application would be beneficial in product testing within several industries, for testing the software behavior when abnormal memory conditions exist on a medium.        The method allows users to completely fill a storage medium's memory so that no available memory exists.        The method allows users to completely or partially fill a storage medium's memory by writing a user-defined file size.        The process to identify file size of a file written to an external device includes:                    Automatically detect available removable device            Check available free memory            Physically remove SD card and insert in other device            Perform save            Reinsert SD card into PC            Application calculates difference in available memory and displays results to user                        